
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Module ErgoSpec.ErgoC.Lang.ErgoCEvalContext</title>
<meta name="description" content="Documentation of Coq module ErgoSpec.ErgoC.Lang.ErgoCEvalContext" />
<link href="coq2html.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="coq2html.js"> </script>
</head>

<body onload="hideAll('proofscript')">
<h1 class="title">Module ErgoSpec.ErgoC.Lang.ErgoCEvalContext</h1>
<div class="coq">
<br/>
<span class="kwd">Require</span> <span class="kwd">Import</span> <span class="id"><a href="http://coq.inria.fr/library/Coq.Strings.String.html">String</a></span>.<br/>
<span class="kwd">Require</span> <span class="kwd">Import</span> <span class="id"><a href="http://coq.inria.fr/library/Coq.Lists.List.html">List</a></span>.<br/>
<br/>
<span class="kwd">Require</span> <span class="kwd">Import</span> <span class="id"><a href="ErgoSpec.Backend.ErgoBackend.html">ErgoSpec.Backend.ErgoBackend</a></span>.<br/>
<span class="kwd">Require</span> <span class="kwd">Import</span> <span class="id"><a href="ErgoSpec.Common.Utils.Names.html">ErgoSpec.Common.Utils.Names</a></span>.<br/>
<span class="kwd">Require</span> <span class="kwd">Import</span> <span class="id"><a href="ErgoSpec.Ergo.Lang.Ergo.html">ErgoSpec.Ergo.Lang.Ergo</a></span>.<br/>
<span class="kwd">Require</span> <span class="kwd">Import</span> <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoC.html">ErgoSpec.ErgoC.Lang.ErgoC</a></span>.<br/>
<br/>
<span class="kwd">Section</span> <span class="id"><a name="ErgoCEvalContext">ErgoCEvalContext</a></span>.<br/>
<br/>
&nbsp;&nbsp;<span class="kwd">Record</span> <span class="id"><a name="eval_context">eval_context</a></span> :=<br/>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="id"><a name="mkEvalContext">mkEvalContext</a></span><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;{ <span class="id"><a name="eval_context_global_env">eval_context_global_env</a></span> : <span class="id"><a href="http://coq.inria.fr/library/Coq.Init.Datatypes.html#list">list</a></span> (<span class="id"><a href="http://coq.inria.fr/library/Coq.Strings.String.html#string">string</a></span> * <span class="id"><a href="ErgoSpec.Backend.ErgoBackend.html#ergo_data">ergo_data</a></span>);<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id"><a name="eval_context_local_env">eval_context_local_env</a></span> : <span class="id"><a href="http://coq.inria.fr/library/Coq.Init.Datatypes.html#list">list</a></span> (<span class="id"><a href="http://coq.inria.fr/library/Coq.Strings.String.html#string">string</a></span> * <span class="id"><a href="ErgoSpec.Backend.ErgoBackend.html#ergo_data">ergo_data</a></span>);<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}.<br/>
<br/>
&nbsp;&nbsp;<span class="kwd">Definition</span> <span class="id"><a name="eval_context_update_global_env">eval_context_update_global_env</a></span><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id">ctxt</span> : <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context">eval_context</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id">name</span> : <span class="id"><a href="http://coq.inria.fr/library/Coq.Strings.String.html#string">string</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id">value</span> : <span class="id"><a href="ErgoSpec.Backend.ErgoBackend.html#ergo_data">ergo_data</a></span>) : <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context">eval_context</a></span> :=<br/>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#mkEvalContext">mkEvalContext</a></span> ((<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#name">name</a></span>, <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#value">value</a></span>)::<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#ctxt">ctxt</a></span>.(<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context_global_env">eval_context_global_env</a></span>))<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#ctxt">ctxt</a></span>.(<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context_local_env">eval_context_local_env</a></span>).<br/>
<br/>
&nbsp;&nbsp;<span class="kwd">Definition</span> <span class="id"><a name="eval_context_update_local_env">eval_context_update_local_env</a></span><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id">ctxt</span> : <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context">eval_context</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id">name</span> : <span class="id"><a href="http://coq.inria.fr/library/Coq.Strings.String.html#string">string</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id">value</span> : <span class="id"><a href="ErgoSpec.Backend.ErgoBackend.html#ergo_data">ergo_data</a></span>) : <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context">eval_context</a></span> :=<br/>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#mkEvalContext">mkEvalContext</a></span> <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#ctxt">ctxt</a></span>.(<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context_global_env">eval_context_global_env</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;((<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#name">name</a></span>, <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#value">value</a></span>)::<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#ctxt">ctxt</a></span>.(<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context_local_env">eval_context_local_env</a></span>)).<br/>
<br/>
&nbsp;&nbsp;<span class="kwd">Definition</span> <span class="id"><a name="eval_context_set_local_env">eval_context_set_local_env</a></span><br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id">ctxt</span> : <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context">eval_context</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id">new_local_env</span> : <span class="id"><a href="http://coq.inria.fr/library/Coq.Init.Datatypes.html#list">list</a></span> (<span class="id"><a href="http://coq.inria.fr/library/Coq.Strings.String.html#string">string</a></span> * <span class="id"><a href="ErgoSpec.Backend.ErgoBackend.html#ergo_data">ergo_data</a></span>)) : <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context">eval_context</a></span> :=<br/>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#mkEvalContext">mkEvalContext</a></span> <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#ctxt">ctxt</a></span>.(<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#eval_context_global_env">eval_context_global_env</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#new_local_env">new_local_env</a></span>.<br/>
<br/>
&nbsp;&nbsp;<span class="kwd">Definition</span> <span class="id"><a name="empty_eval_context">empty_eval_context</a></span> :=<br/>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#mkEvalContext">mkEvalContext</a></span>  ((<span class="id"><a href="ErgoSpec.Common.Utils.Names.html#current_time">current_time</a></span>, <span class="id"><a href="https://querycert.github.io/html/Qcert.Common.DataModel.Data.html#dforeign">dforeign</a></span> (<span class="id"><a href="ErgoSpec.Backend.Model.ErgoEnhancedModel.html#enhanceddateTime">ErgoEnhancedModel.enhanceddateTime</a></span> <span class="id"><a href="ErgoSpec.Backend.Model.ErgoEnhancedModel.html#enhanceddateTime_now">ErgoEnhancedModel.enhanceddateTime_now</a></span>))<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;::(<span class="id"><a href="ErgoSpec.Common.Utils.Names.html#this_contract">this_contract</a></span>, <span class="id"><a href="https://querycert.github.io/html/Qcert.Common.DataModel.Data.html#dunit">dunit</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;::(<span class="id"><a href="ErgoSpec.Common.Utils.Names.html#this_state">this_state</a></span>, <span class="id"><a href="https://querycert.github.io/html/Qcert.Common.DataModel.Data.html#dunit">dunit</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;::(<span class="id"><a href="ErgoSpec.Common.Utils.Names.html#this_emit">this_emit</a></span>, <span class="id"><a href="https://querycert.github.io/html/Qcert.Common.DataModel.Data.html#dcoll">dcoll</a></span> <span class="id"><a href="http://coq.inria.fr/library/Coq.Init.Datatypes.html#nil">nil</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;::<span class="id"><a href="http://coq.inria.fr/library/Coq.Init.Datatypes.html#nil">nil</a></span>)<br/>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(<span class="id"><a href="http://coq.inria.fr/library/Coq.Init.Datatypes.html#nil">nil</a></span>).<br/>
<br/>
<span class="kwd">End</span> <span class="id"><a href="ErgoSpec.ErgoC.Lang.ErgoCEvalContext.html#ErgoCEvalContext">ErgoCEvalContext</a></span>.<br/>

</div>
<div class="footer"><hr/>Generated by <a href="https://github.com/xavierleroy/coq2html/">coq2html</div>
</body>
</html>
